ACTOR "VorpalBlade" : FighterWeapon// Replaces FWeaponPiece2
{
	Weapon.Ammotype Mana2
	Weapon.Ammouse 4
	+AXEBLOOD
	+WEAPON.AMMO_OPTIONAL
	Weapon.KickBack 0
	weapon.ammogive1 0
	Weapon.SelectionOrder 1
	Tag "Vorpal Blade"
	+UNDROPPABLE
	+MELEEWEAPON
	Inventory.Pickupmessage "VORPAL BLADE"
	States
	{
	Spawn:
		WVBL A -1 Bright
		Stop
	Ready:
		SWRD A 0 A_JumpIfInventory("MightyBlowing", 1, "MightyBlow")
		SWRD A 0 A_JumpIfInventory("DeathBlowing", 1, "DeathBlow")
		SWRD A 1 A_WeaponReady
		Loop
	Deselect:
		SWRD A 1 A_Lower
		TNT1 A 0 A_Lower
		Loop
	Select:
		SWRD A 1 A_Raise
		TNT1 A 0 A_Raise
		Loop
	Fire:
		//TNT1 A 0 A_JumpIfInventory("CriticalStrike",Random(1,40),"Fire2")
		TNT1 A 0 A_JumpIfNoAmmo("AltFire")
		SWRD A 1 offset(5,42)
		SWRD C 1 offset(15,30) A_PlaySound("FighterSwordMiss", 8, 1.0, 0)
		SWRD C 1 offset(1,35)
		SWRD D 1 offset(1,30)
		SWRD D 0 offset(-15,35) //A_FireBullets(0,0,1,frandom(80,100)*(0.1*acs_executewithresult(WOC_DECORATE,FIGHTERSKILLS,ABIL_SWORDMASTERY,ACTIVATOR)+0.025*(30+acs_executewithresult(WOC_DECORATE,STATS,STRENGTH,ACTIVATOR))),"VorpalBladePuff",FBF_NORANDOM,150)
		SWRD D 0 offset(-15,35) A_FireCustomMissile("VorpalBladeSlash")
		SWRD D 1 offset(-15,35)  
		SWRD E 1 offset(1,30) 
		SWRD E 1 offset(-15,35)
		SWRD F 1 offset(1,30)
		SWRD F 1 offset(-15,35)
		TNT1 a 10
		TNT1 a 0 a_refire
		SWRD A 1 offset(5,60)
		SWRD A 1 offset(5,55)
		SWRD A 1 offset(5,50)
		SWRD A 1 offset(5,45)
		SWRD A 1 offset(5,40)
		Goto Ready
	Fire2:
		TNT1 A 0 A_JumpIfNoAmmo("AltFire2")
		SWRD A 1 offset(5,42)
		SWRD C 1 offset(15,30) A_PlaySound("FighterSwordMiss", 8, 1.0, 0)
		SWRD C 1 offset(1,35)
		SWRD D 1 offset(1,30)
		SWRD D 0 offset(-15,35) A_FireBullets(0,0,1,0,"CriticalPuff",FBF_NORANDOM,150)
		SWRD D 0 offset(-15,35) A_FireBullets(0,0,1,2*frandom(80,100)*(0.1*acs_executewithresult(WOC_DECORATE,FIGHTERSKILLS,ABIL_SWORDMASTERY,ACTIVATOR)+0.025*(30+acs_executewithresult(WOC_DECORATE,STATS,STRENGTH,ACTIVATOR))),"VorpalBladePuff",FBF_NORANDOM,150)
		SWRD D 0 offset(-15,35) A_FireCustomMissile("VorpalBladeSlash")
		SWRD D 1 offset(-15,35)  
		SWRD E 1 offset(1,30) 
		SWRD E 1 offset(-15,35)
		SWRD F 1 offset(1,30)
		SWRD F 1 offset(-15,35)
		TNT1 a 10
		TNT1 a 0 a_refire
		SWRD A 1 offset(5,60)
		SWRD A 1 offset(5,55)
		SWRD A 1 offset(5,50)
		SWRD A 1 offset(5,45)
		SWRD A 1 offset(5,40)
		Goto Ready
	Altfire:
		SWRD A 0 offset(5,42) A_JumpIfInventory("CriticalStrike",Random(1,40),"Altfire2")
		SWRD A 1 offset(5,42)
		SWRD C 1 offset(15,30) A_PlaySound("FighterSwordMiss", 8, 1.0, 0)
		SWRD C 1 offset(1,35)
		SWRD D 1 offset(1,30)
		SWRD D 0 offset(-15,35) A_FireBullets(0,0,1,frandom(80,100)*(0.1*acs_executewithresult(WOC_DECORATE,FIGHTERSKILLS,ABIL_SWORDMASTERY,ACTIVATOR)+0.025*(30+acs_executewithresult(WOC_DECORATE,STATS,STRENGTH,ACTIVATOR))),"VorpalBladePuff",FBF_NORANDOM,150)
		SWRD D 1 offset(-15,35)  
		SWRD E 1 offset(1,30) 
		SWRD E 1 offset(-15,35)
		SWRD F 1 offset(1,30)
		SWRD F 1 offset(-15,35)
		TNT1 a 10
		TNT1 a 0 a_refire
		SWRD A 1 offset(5,60)
		SWRD A 1 offset(5,55)
		SWRD A 1 offset(5,50)
		SWRD A 1 offset(5,45)
		SWRD A 1 offset(5,40)
		Goto Ready
	AltFire2:
		SWRD A 1 offset(5,42)
		SWRD C 1 offset(15,30) A_PlaySound("FighterSwordMiss", 8, 1.0, 0)
		SWRD C 1 offset(1,35)
		SWRD D 1 offset(1,30)
		SWRD D 0 offset(-15,35) A_FireBullets(0,0,1,0,"CriticalPuff",FBF_NORANDOM,150)
		SWRD D 0 offset(-15,35) A_FireBullets(0,0,1,2*frandom(80,100)*(0.1*acs_executewithresult(WOC_DECORATE,FIGHTERSKILLS,ABIL_SWORDMASTERY,ACTIVATOR)+0.025*(30+acs_executewithresult(WOC_DECORATE,STATS,STRENGTH,ACTIVATOR))),"VorpalBladePuff",FBF_NORANDOM,150)
		SWRD D 1 offset(-15,35)  
		SWRD E 1 offset(1,30) 
		SWRD E 1 offset(-15,35)
		SWRD F 1 offset(1,30)
		SWRD F 1 offset(-15,35)
		TNT1 a 10
		TNT1 a 0 a_refire
		SWRD A 1 offset(5,60)
		SWRD A 1 offset(5,55)
		SWRD A 1 offset(5,50)
		SWRD A 1 offset(5,45)
		SWRD A 1 offset(5,40)
		Goto Ready
	MightyBlow:
		SWRD A 1 Offset (0, 40)
		SWRD A 1 Offset (0, 48)
		SWRD A 1 Offset (0, 56)
		FPCH E 1 Offset(220,60)
		FPCH E 1 Offset(225,50)
		FPCH E 1 Offset(220,50)
		FPCH E 1 Offset(210,50)
		FPCH E 1 Offset(190,50)
		FPCH E 1 Offset(180,40) 
		FPCH E 1 Offset(95,40)
		FPCH D 0 Offset (5, 40) A_FireBullets(0,0,1,frandom(140,180)*(0.1*acs_ExecuteWithResult(WOC_DECORATE,FIGHTERSKILLS,ABIL_MIGHTYBLOW,ACTIVATOR)+0.025*(30+ACS_ExecuteWithResult(WOC_DECORATE,STATS,STRENGTH,ACTIVATOR))),"MightyBlowPuff",FBF_NORANDOM,128)
		FPCH E 1 Offset(10,50)
		FPCH E 1 Offset(5,60) 
		FPCH E 1 Offset(2,70)
		FPCH E 1 Offset(0,80)
		FPCH E 1 Offset(2,90) 
		FPCH E 1 Offset(5,115)
		FPCH E 5 Offset(0,150) A_TakeInventory("MightyBlowing",2)
		SWRD A 1 Offset (1, 56)
		SWRD A 1 Offset (1, 48)
		SWRD A 1 Offset (1, 40)
		Goto Ready
	DeathBlow:
		SWRD A 1 Offset (0, 40)
		SWRD A 1 Offset (0, 48)
		SWRD A 1 Offset (0, 56)
		FPCH E 1 Offset(220,60)
		FPCH E 1 Offset(225,50)
		FPCH E 1 Offset(220,50)
		FPCH E 1 Offset(210,50)
		FPCH E 1 Offset(190,50)
		FPCH E 1 Offset(180,40) 
		FPCH E 1 Offset(95,40)
		FPCH E 0 A_JumpIfInventory("DeathBlow", random(0,25), 2)
		FPCH E 0 A_Jump(256,2)
		FPCH E 0 A_FireBullets(0,0,1,1000000,"DeathBlowPuff",FBF_NORANDOM,128)
		FPCH E 0 A_FireBullets(0,0,1,0,"HammerPuff",FBF_NORANDOM,128)
		FPCH E 1 Offset(10,50)
		FPCH E 1 Offset(5,60) 
		FPCH E 1 Offset(2,70)
		FPCH E 1 Offset(0,80)
		FPCH E 1 Offset(2,90) 
		FPCH E 1 Offset(5,115)
		FPCH E 5 Offset(0,150) A_TakeInventory("DeathBlowing",2)
		SWRD A 1 Offset (1, 56)
		SWRD A 1 Offset (1, 48)
		SWRD A 1 Offset (1, 40)
		Goto Ready
	}
}

ACTOR VorpalBladeSlash
{
	Radius 8
	Height 16
	Speed 25
	Damagetype "Physical"
	PROJECTILE
	RENDERSTYLE ADD
	ALPHA 0.75
	Reactiontime 15
	+RIPPER
	+NODAMAGETHRUST
	+MTHRUSPECIES +NODAMAGETHRUST
	+DONTBLAST
	States
	{
	Spawn:
		VFX4 A 0 Bright A_SpawnItem("SlashTrail",0,0)
		VFX4 A 0 Bright A_Explode(25*(0.1*acs_executewithresult(WOC_DECORATE,FIGHTERSKILLS,ABIL_SWORDMASTERY,TARGET)+0.025*(30+ACS_executewithresult(WOC_DECORATE,STATS,INTELLECT,TARGET))),30,0,0,30)
		VFX4 A 1 Bright A_Countdown
		Loop
	Death:
		VFX4 A 1 Bright
		Stop
	}
}

ACTOR SlashTrail
{
	Radius 3
	Height 3
	PROJECTILE
	+MTHRUSPECIES +NODAMAGETHRUST
	+DONTBLAST
	+CLIENTSIDEONLY
	+NOINTERACTION
	RENDERSTYLE ADD
	ALPHA 0.80
	States
	{
	Spawn:
		NULL A 1
		VFX4 A 1 Bright A_FadeOut(0.10)
		Goto Spawn+1
	}
}

Actor VorpalBladePuff
{
	+NOBLOCKMAP
	+NOGRAVITY
	+PUFFONACTORS
	+PUFFGETSOWNER
	+THRUGHOST
	+MTHRUSPECIES
	Radius 8
	Height 12
	Alpha 0.6
	Renderstyle Translucent
	SeeSound "FighterSwordHitThing"
	AttackSound "FighterSwordHitWall"
	//ActiveSound "FighterSwordMiss"
	Damagetype "Physical"

	States
	{
	Spawn:
	Melee:
		FHFX S 0
		FHFX S 0 A_JumpIfInTargetInventory("IsDestroyer",1,"Fury")
		Goto Crash
	Fury:
		FHFX S 0 A_GiveToTarget("FuryItem",1)
	Crash:
		FHFX S 1
		FHFX S 1 A_GiveToTarget("ScreenPitch2")
		FHFX SS 1 A_GiveToTarget("ScreenPitch1Back")
		FHFX TUVW 4
		Stop
	}
}